﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Microsoft.Reporting.WinForms;
using System.Data.OleDb;
using System.IO;



namespace TestReport.NewFolder1
{
    public partial class MainForm : Form
    {
        public MainForm()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
        }

        private static void GetReportDataSource(out ReportDataSource cicliAvarieSource, out ReportDataSource cicliDettaglioSource, out ReportDataSource altreLavorazioniSource)
        {
            cicliAvarieSource = new ReportDataSource();
            cicliAvarieSource.Name = "dsCicliAvarie";
            var cicliAvarieSourceds = TestReport.Generator.QueryManager.GetAllCAs();
            if (cicliAvarieSourceds != null)
                cicliAvarieSource.Value = cicliAvarieSourceds.Take(9);

            cicliDettaglioSource = new ReportDataSource();
            cicliDettaglioSource.Name = "dsCicliDettaglio";
            var cicliDettaglioSourceds = TestReport.Generator.QueryManager.GetAllCDs();
            if (cicliDettaglioSourceds != null)
                cicliDettaglioSource.Value = cicliDettaglioSourceds.Take(20);

            altreLavorazioniSource = new ReportDataSource();
            altreLavorazioniSource.Name = "dsAltreLavorazioni";
            var altreLavorazioniSourceds = TestReport.Generator.QueryManager.GetAllALs();
            if (altreLavorazioniSourceds != null)
                altreLavorazioniSource.Value = altreLavorazioniSourceds.Take(5);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            ReportDataSource cicliAvarieSource;
            ReportDataSource cicliDettaglioSource;
            ReportDataSource altreLavorazioniSource;
            GetReportDataSource(out cicliAvarieSource, out cicliDettaglioSource, out altreLavorazioniSource);

            Report NewRpt = new Report(cicliAvarieSource, cicliDettaglioSource, altreLavorazioniSource);
            NewRpt.ShowDialog();
        }
    }
}
